library(tidyverse)
Registered S3 methods overwritten by 'dbplyr':
method from
print.tbl_lazy
print.tbl_sql
-- Attaching packages ------------------------------------------------------------------------ tidyverse 1.3.1 --
v ggplot2 3.3.5 v purrr 0.3.4
v tibble 3.1.2 v dplyr 1.0.7
v tidyr 1.1.3 v stringr 1.4.0
v readr 1.4.0 v forcats 0.5.1
-- Conflicts --------------------------------------------------------------------------- tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x dplyr::lag() masks stats::lag()
library(tidyr)
library(dplyr)
library(readr)
library(ggplot2)
steam_data <- read.csv(url("https://raw.githubusercontent.com/CaptainBlast096/Intro-to-Data-Science---Final-Project/main/data/steam.csv?token=AURDUTN5EIYEUABRMPJSEM3BCSBK2"))
steam_data
colnames(steam_data)
nrow(steam_data)
glimpse(steam_data)
filter(steam_data, developer == "Valve")
Warning in for (i in seq_along(cenv$extra)) { :
closing unused connection 3 (https://raw.githubusercontent.com/CaptainBlast096/Intro-to-Data-Science---Final-Project/main/data/steam.csv?token=AUYBUGFTVT4MWJCRESJF6LDBB4YYG)
steam_data %>%
filter(str_detect(steamspy_tags, "FPS"))
steam_data %>%
select(developer, steamspy_tags)
FPS_Studios <- steam_data %>%
select(developer, steamspy_tags)
FPS_Studios%>%
group_by(developer) %>%
summarise(total = n()) %>%
arrange(desc(total))
FPS_STudio <- FPS_Studios %>%
filter(str_detect(steamspy_tags, "FPS"))
Top_Five_Studio <- FPS_STudio %>%
group_by(developer) %>%
summarise(total = n()) %>%
arrange(desc(total))
print(Top_Five_Studio)
Top_Studio <- data.frame(
Developers = c("Valve", "Id Software", "NovaLogic", "Gearbox Software", "Epic Games Inc."),
Amount_of_fps_games = c(19, 16, 8, 7, 5)
)
ggplot(Top_Studio, aes(x=Developers, y=Amount_of_fps_games )) +
geom_col()

#Lines filter the amount of row in each genre
Action <- steam_data %>% filter(str_detect(steamspy_tags, "Action"))
Action
nrow(Action)
[1] 10344
FPS <- steam_data %>% filter(str_detect(steamspy_tags, "FPS"))
FPS
nrow(FPS)
[1] 405
Shooter <- steam_data %>% filter(str_detect(steamspy_tags, "Shooter"))
Shooter
nrow(Shooter)
[1] 227
Sci_fi <- steam_data %>% filter(str_detect(steamspy_tags, "Sci-fi"))
Sci_fi
nrow(Sci_fi)
[1] 157
Puzzle <- steam_data %>% filter(str_detect(steamspy_tags, "Puzzle"))
Puzzle
nrow(Puzzle)
[1] 1167
Indie <- steam_data %>% filter(str_detect(steamspy_tags, "Indie"))
Indie
nrow(Indie)
[1] 16232
Strategy <- steam_data %>% filter(str_detect(steamspy_tags, "Strategy"))
Strategy
nrow(Strategy)
[1] 4180
Racing <- steam_data %>% filter(str_detect(steamspy_tags, "Racing"))
Racing
nrow(Racing)
[1] 765
RPG <- steam_data %>% filter(str_detect(steamspy_tags, "RPG"))
RPG
nrow(RPG)
[1] 2863
Casual <- steam_data %>% filter(str_detect(steamspy_tags, "Casual"))
Casual
nrow(Casual)
[1] 8205
Horror <- steam_data %>% filter(str_detect(steamspy_tags, "Horror"))
Horror
nrow(Horror)
[1] 566
Simulation <- steam_data %>% filter(str_detect(steamspy_tags, "Simulation"))
Simulation
nrow(Simulation)
[1] 3284
#Genres
Top_Games <- data.frame (Genres = c("Action", "FPS", "Shooter", "Sci-fi", "Puzzle", "Indie", "Strategy", "Racing", "RPG", "Casual", "Horror", "Simulation"), Amount = c(10344,405,227,157,1167,16232,4180,765,2863,8205,566,3284))
#ggplot(Top_Games, aes(x = Genres, y = Amount_of_games)) + geom_col(fill = "black")
ggplot(Top_Games, aes(x = Genres, y = Amount, fill = Genres,)) + geom_bar(stat = "identity", width = 0.5) + labs(title = "Number of games in each genre", x = "", y = "Amount (per game)") + coord_flip()

LS0tDQp0aXRsZTogIkZpbmFsIFByb2plY3QiDQphdXRob3I6IEphbGVlbCBSb2dlcnMsIENocmlzdG9waGVyIFBvbmRzLCBOYWZpIEtoYW4sIGFuZCBLZXZpbiBDYW1wYmVsbA0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkodGlkeXIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShyZWFkcikNCmxpYnJhcnkoZ2dwbG90MikNCmBgYA0KDQpgYGB7cn0NCnN0ZWFtX2RhdGEgPC0gcmVhZC5jc3YodXJsKCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ2FwdGFpbkJsYXN0MDk2L0ludHJvLXRvLURhdGEtU2NpZW5jZS0tLUZpbmFsLVByb2plY3QvbWFpbi9kYXRhL3N0ZWFtLmNzdj90b2tlbj1BVVJEVVRONUVJWUVVQUJSTVBKU0VNM0JDU0JLMiIpKQ0KDQpzdGVhbV9kYXRhDQpgYGANCg0KYGBge3J9DQpjb2xuYW1lcyhzdGVhbV9kYXRhKQ0KbnJvdyhzdGVhbV9kYXRhKQ0KZ2xpbXBzZShzdGVhbV9kYXRhKQ0KYGBgDQoNCmBgYHtyfQ0KZmlsdGVyKHN0ZWFtX2RhdGEsIGRldmVsb3BlciA9PSAiVmFsdmUiKQ0KYGBgDQoNCmBgYHtyfQ0Kc3RlYW1fZGF0YSAlPiUNCiAgZmlsdGVyKHN0cl9kZXRlY3Qoc3RlYW1zcHlfdGFncywgIkZQUyIpKSANCmBgYA0KYGBge3J9DQpzdGVhbV9kYXRhICU+JQ0KICBzZWxlY3QoZGV2ZWxvcGVyLCBzdGVhbXNweV90YWdzKQ0KYGBgDQpgYGB7cn0NCkZQU19TdHVkaW9zIDwtIHN0ZWFtX2RhdGEgJT4lDQogIHNlbGVjdChkZXZlbG9wZXIsIHN0ZWFtc3B5X3RhZ3MpDQpgYGANCg0KYGBge3J9DQpwcmludChGUFNfU3R1ZGlvcykNCmBgYA0KDQoNCmBgYHtyfQ0KRlBTX1N0dWRpb3MlPiUNCiAgZ3JvdXBfYnkoZGV2ZWxvcGVyKSAlPiUNCiAgc3VtbWFyaXNlKHRvdGFsID0gbigpKSAlPiUNCiAgYXJyYW5nZShkZXNjKHRvdGFsKSkNCmBgYA0KDQpgYGB7cn0NCkZQU19TVHVkaW8gPC0gRlBTX1N0dWRpb3MgJT4lDQogIGZpbHRlcihzdHJfZGV0ZWN0KHN0ZWFtc3B5X3RhZ3MsICJGUFMiKSkNCmBgYA0KDQpgYGB7cn0NClRvcF9GaXZlX1N0dWRpbyA8LSBGUFNfU1R1ZGlvICU+JQ0KICBncm91cF9ieShkZXZlbG9wZXIpICU+JQ0KICBzdW1tYXJpc2UodG90YWwgPSBuKCkpICU+JQ0KICBhcnJhbmdlKGRlc2ModG90YWwpKSANCmBgYA0KDQpgYGB7cn0NCnByaW50KFRvcF9GaXZlX1N0dWRpbykNCmBgYA0KDQoNCmBgYHtyfQ0KVG9wX1N0dWRpbyA8LSBkYXRhLmZyYW1lKA0KICBEZXZlbG9wZXJzID0gYygiVmFsdmUiLCAiSWQgU29mdHdhcmUiLCAiTm92YUxvZ2ljIiwgIkdlYXJib3ggU29mdHdhcmUiLCAiRXBpYyBHYW1lcyBJbmMuIiksDQogIEFtb3VudF9vZl9mcHNfZ2FtZXMgPSBjKDE5LCAxNiwgOCwgNywgNSkNCikNCmBgYA0KDQpgYGB7cn0NCmdncGxvdChUb3BfU3R1ZGlvLCBhZXMoeD1EZXZlbG9wZXJzLCB5PUFtb3VudF9vZl9mcHNfZ2FtZXMgKSkgKw0KICBnZW9tX2NvbCgpDQpgYGANCmBgYHtyfQ0KI0xpbmVzIGZpbHRlciB0aGUgYW1vdW50IG9mIHJvdyBpbiBlYWNoIGdlbnJlDQpBY3Rpb24gPC0gc3RlYW1fZGF0YSAlPiUgIGZpbHRlcihzdHJfZGV0ZWN0KHN0ZWFtc3B5X3RhZ3MsICJBY3Rpb24iKSkNCkFjdGlvbg0KbnJvdyhBY3Rpb24pDQoNCkZQUyA8LSBzdGVhbV9kYXRhICU+JSAgZmlsdGVyKHN0cl9kZXRlY3Qoc3RlYW1zcHlfdGFncywgIkZQUyIpKQ0KRlBTDQpucm93KEZQUykNCg0KU2hvb3RlciA8LSBzdGVhbV9kYXRhICU+JSAgZmlsdGVyKHN0cl9kZXRlY3Qoc3RlYW1zcHlfdGFncywgIlNob290ZXIiKSkNClNob290ZXINCm5yb3coU2hvb3RlcikNCg0KU2NpX2ZpIDwtIHN0ZWFtX2RhdGEgJT4lICBmaWx0ZXIoc3RyX2RldGVjdChzdGVhbXNweV90YWdzLCAiU2NpLWZpIikpDQpTY2lfZmkNCm5yb3coU2NpX2ZpKSANCg0KUHV6emxlIDwtIHN0ZWFtX2RhdGEgJT4lICBmaWx0ZXIoc3RyX2RldGVjdChzdGVhbXNweV90YWdzLCAiUHV6emxlIikpDQpQdXp6bGUNCm5yb3coUHV6emxlKQ0KDQpJbmRpZSA8LSBzdGVhbV9kYXRhICU+JSAgZmlsdGVyKHN0cl9kZXRlY3Qoc3RlYW1zcHlfdGFncywgIkluZGllIikpDQpJbmRpZQ0KbnJvdyhJbmRpZSkNCg0KU3RyYXRlZ3kgPC0gc3RlYW1fZGF0YSAlPiUgIGZpbHRlcihzdHJfZGV0ZWN0KHN0ZWFtc3B5X3RhZ3MsICJTdHJhdGVneSIpKQ0KU3RyYXRlZ3kNCm5yb3coU3RyYXRlZ3kpDQoNClJhY2luZyA8LSBzdGVhbV9kYXRhICU+JSAgZmlsdGVyKHN0cl9kZXRlY3Qoc3RlYW1zcHlfdGFncywgIlJhY2luZyIpKQ0KUmFjaW5nDQpucm93KFJhY2luZykNCg0KUlBHIDwtIHN0ZWFtX2RhdGEgJT4lICBmaWx0ZXIoc3RyX2RldGVjdChzdGVhbXNweV90YWdzLCAiUlBHIikpDQpSUEcNCm5yb3coUlBHKQ0KDQpDYXN1YWwgPC0gc3RlYW1fZGF0YSAlPiUgIGZpbHRlcihzdHJfZGV0ZWN0KHN0ZWFtc3B5X3RhZ3MsICJDYXN1YWwiKSkNCkNhc3VhbA0KbnJvdyhDYXN1YWwpDQoNCkhvcnJvciA8LSBzdGVhbV9kYXRhICU+JSAgZmlsdGVyKHN0cl9kZXRlY3Qoc3RlYW1zcHlfdGFncywgIkhvcnJvciIpKQ0KSG9ycm9yDQpucm93KEhvcnJvcikNCg0KU2ltdWxhdGlvbiA8LSBzdGVhbV9kYXRhICU+JSAgZmlsdGVyKHN0cl9kZXRlY3Qoc3RlYW1zcHlfdGFncywgIlNpbXVsYXRpb24iKSkNClNpbXVsYXRpb24NCm5yb3coU2ltdWxhdGlvbikNCg0KYGBgDQoNCmBgYHtyfQ0KICNHZW5yZXMNClRvcF9HYW1lcyA8LSBkYXRhLmZyYW1lIChHZW5yZXMgPSBjKCJBY3Rpb24iLCAiRlBTIiwgIlNob290ZXIiLCAiU2NpLWZpIiwgIlB1enpsZSIsICJJbmRpZSIsICJTdHJhdGVneSIsICJSYWNpbmciLCAiUlBHIiwgIkNhc3VhbCIsICJIb3Jyb3IiLCAiU2ltdWxhdGlvbiIpLCBBbW91bnQgPSBjKDEwMzQ0LDQwNSwyMjcsMTU3LDExNjcsMTYyMzIsNDE4MCw3NjUsMjg2Myw4MjA1LDU2NiwzMjg0KSkNCiNnZ3Bsb3QoVG9wX0dhbWVzLCBhZXMoeCA9IEdlbnJlcywgeSA9IEFtb3VudF9vZl9nYW1lcykpICsgZ2VvbV9jb2woZmlsbCA9ICJibGFjayIpIA0KZ2dwbG90KFRvcF9HYW1lcywgYWVzKHggPSBHZW5yZXMsIHkgPSBBbW91bnQsIGZpbGwgPSBHZW5yZXMsKSkgKyBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5Iiwgd2lkdGggPSAwLjUpICsgbGFicyh0aXRsZSA9ICJOdW1iZXIgb2YgZ2FtZXMgaW4gZWFjaCBnZW5yZSIsIHggPSAiIiwgeSA9ICJBbW91bnQgKHBlciBnYW1lKSIpICsgY29vcmRfZmxpcCgpDQpgYGANCg==